1e0502accb97887cb5ffb0ed0815332a7e23dc37,smartReceiptsLibrary/src/main/java/co/smartreceipts/android/imports/ActivityFileResultImporter.java,ActivityFileResultImporter,onActivityResult,#number#number#Intent#Uri#,68
Before Change
}
mHeadlessFragment.importSubject = BehaviorSubject.create();
mHeadlessFragment.localSubscription = getSaveLocation(requestCode, resultCode, data, proposedImageSaveLocation)
.subscribeOn(Schedulers.io())
.flatMap(new Func1<Uri, Observable<File>>() {
@Override
public Observable<File> call(@NonNull final Uri uri) {
final FileImportProcessor importProcessor;
if (RequestCodes.PHOTO_REQUESTS.contains(requestCode)) {
importProcessor = new ImageImportProcessor(mTrip, mStorageManager, mPreferences, mContext);
} else if (RequestCodes.PDF_REQUESTS.contains(requestCode)) {
importProcessor = new GenericFileImportProcessor(mTrip, mStorageManager, mContext);
} else {
importProcessor = new AutoFailImportProcessor();
}
return importProcessor.process(uri)
.doOnNext(new Action1<File>() {
@Override
@SuppressWarnings("ResultOfMethodCallIgnored")
public void call(File file) {
if (file != null) {
final File uriLocation = new File(uri.getPath());
if (!file.equals(uriLocation)) {
uriLocation.delete(); // Clean up
}
}
}
});
}
})
.map(new Func1<File, ActivityFileResultImporterResponse>() {
@Override
public ActivityFileResultImporterResponse call(@NonNull File file) {
return new ActivityFileResultImporterResponse(file, requestCode, resultCode);
}
})
.doOnError(new Action1<Throwable>() {
@Override
public void call(Throwable throwable) {
Logger.error(ActivityFileResultImporter.this, "Failed to save import result", throwable);
mAnalytics.record(new ErrorEvent(ActivityFileResultImporter.this, throwable));
}
})
.observeOn(AndroidSchedulers.mainThread())
.subscribe(mHeadlessFragment.importSubject);
}
After Change
return new ActivityFileResultImporterResponse(file, requestCode, resultCode);
}
})
.doOnError(new Action1<Throwable>() {
@Override
public void call(Throwable throwable) {
Logger.error(ActivityFileResultImporter.this, "Failed to save import result", throwable);
analytics.record(new ErrorEvent(ActivityFileResultImporter.this, throwable));
}
})
.delay(5, TimeUnit.SECONDS)
.observeOn(observeOnScheduler)
.subscribe(headlessFragment.importSubject);
}